Next: Input Streams, Up: Read and Print [Contents][Index]
Reading a Lisp object means parsing a Lisp expression
in textual form and producing a corresponding Lisp object. This
is how Lisp programs get into Lisp from files of Lisp code. We
call the text the read syntax of the object. For
example, the text ‘(a . 5)’ is the read
syntax for a cons cell whose CAR is a
and whose CDR is the number 5.
Printing a Lisp object means producing text that represents that object—converting the object to its printed representation (see Printed Representation). Printing the cons cell described above produces the text ‘(a . 5)’.
Reading and printing are more or less inverse operations:
printing the object that results from reading a given piece of
text often produces the same text, and reading the text that
results from printing an object usually produces a
similar-looking object. For example, printing the symbol
foo produces the text
‘foo’, and reading that text returns the
symbol foo. Printing a list whose elements are
a and b produces the text
‘(a b)’, and reading that text produces
a list (but not the same list) with elements a and
b.
However, these two operations are not precisely inverse to each other. There are three kinds of exceptions:
Next: Input Streams, Up: Read and Print [Contents][Index]